<?php
// 微服务架构介绍页面
// 定义页面数据
$page_title = "微服务架构介绍";
$header_title = "微服务架构可视化介绍";
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php echo $page_title; ?></title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Microsoft YaHei', sans-serif;
        }
        
        body {
            background-color: #f5f7fa;
            color: #333;
            line-height: 1.6;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }
        
        header {
            background: linear-gradient(135deg, #6e8efb, #a777e3);
            color: white;
            padding: 30px 0;
            text-align: center;
            border-radius: 0 0 20px 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            margin-bottom: 30px;
        }
        
        .hanzi-header {
            display: flex;
            justify-content: center;
            margin-bottom: 20px;
        }
        
        .hanzi-character {
            font-size: 48px;
            margin: 0 15px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s;
        }
        
        .hanzi-character:hover {
            transform: scale(1.2);
        }
        
        h1 {
            font-size: 2.5rem;
            margin-bottom: 10px;
        }
        
        .subtitle {
            font-size: 1.2rem;
            opacity: 0.9;
        }
        
        .content-section {
            background: white;
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 25px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        }
        
        h2 {
            color: #6e8efb;
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 2px solid #f0f0f0;
        }
        
        p {
            margin-bottom: 15px;
        }
        
        .microservices-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin: 25px 0;
        }
        
        .service-card {
            background: white;
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            border-top: 4px solid #a777e3;
        }
        
        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
        }
        
        .service-card h3 {
            color: #6e8efb;
            margin-bottom: 10px;
        }
        
        .advantages-disadvantages {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 25px;
        }
        
        .advantages, .disadvantages {
            background: white;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
        }
        
        .advantages {
            border-top: 4px solid #4caf50;
        }
        
        .disadvantages {
            border-top: 4px solid #f44336;
        }
        
        ul {
            padding-left: 20px;
            margin: 15px 0;
        }
        
        li {
            margin-bottom: 8px;
        }
        
        .architecture-diagram {
            text-align: center;
            margin: 30px 0;
            background: white;
            padding: 20px;
            border-radius: 15px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        }
        
        .diagram-placeholder {
            height: 250px;
            background: linear-gradient(135deg, #6e8efb33, #a777e333);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: #6e8efb;
            margin: 20px 0;
        }
        
        footer {
            text-align: center;
            margin-top: 40px;
            padding: 20px;
            color: #777;
            font-size: 0.9rem;
        }
        
        @media (max-width: 768px) {
            .advantages-disadvantages {
                grid-template-columns: 1fr;
            }
            
            .hanzi-character {
                font-size: 36px;
            }
            
            h1 {
                font-size: 2rem;
            }
        }
    </style>
</head>
<body>
    <header>
        <div class="hanzi-header">
            <div class="hanzi-character">微</div>
            <div class="hanzi-character">服</div>
            <div class="hanzi-character">务</div>
            <div class="hanzi-character">架</div>
            <div class="hanzi-character">构</div>
        </div>
        <h1><?php echo $header_title; ?></h1>
        <p class="subtitle">现代分布式系统设计的核心方法</p>
    </header>
    
    <div class="container">
        <section class="content-section">
            <h2>什么是微服务架构？</h2>
            <p>微服务架构是一种将应用程序构建为一组小型服务的方法，每个服务运行在自己的进程中，服务间采用轻量级机制（通常是HTTP资源API）进行通信。这些服务围绕业务能力构建，并可通过全自动部署机制独立部署。</p>
            <p>与传统的单体架构不同，微服务架构通过将应用程序分解为更小、完全独立的组件，从而使得每个组件都可以独立开发、部署、扩展和维护。</p>
        </section>
        
        <section class="content-section">
            <h2>微服务架构的特点</h2>
            <div class="microservices-grid">
                <div class="service-card">
                    <h3>单一职责</h3>
                    <p>每个微服务专注于完成一项特定任务，并把它做好。</p>
                </div>
                <div class="service-card">
                    <h3>独立部署</h3>
                    <p>服务可以独立部署，不需要重新部署整个应用程序。</p>
                </div>
                <div class="service-card">
                    <h3>技术多样性</h3>
                    <p>不同的微服务可以使用不同的编程语言、数据库和技术栈。</p>
                </div>
                <div class="service-card">
                    <h3>弹性设计</h3>
                    <p>服务故障被隔离，不会导致整个系统崩溃。</p>
                </div>
                <div class="service-card">
                    <h3>可扩展性</h3>
                    <p>可以单独扩展需要更多资源的特定服务。</p>
                </div>
                <div class="service-card">
                    <h3>去中心化治理</h3>
                    <p>团队可以选择最适合其服务的技术和工具。</p>
                </div>
            </div>
        </section>
        
        <section class="content-section">
            <h2>微服务架构示意图</h2>
            <div class="architecture-diagram">
                <p>下图展示了典型的微服务架构，包括API网关、服务发现、配置服务等核心组件：</p>
                <div class="diagram-placeholder">
                    [微服务架构示意图：API网关 → 服务发现 → 多个独立微服务]
                </div>
                <p>客户端请求首先到达API网关，然后被路由到适当的微服务。每个微服务管理自己的数据库，并通过轻量级机制进行通信。</p>
            </div>
        </section>
        
        <section class="content-section">
            <h2>优势与挑战</h2>
            <div class="advantages-disadvantages">
                <div class="advantages">
                    <h3>优势</h3>
                    <ul>
                        <li>技术栈灵活性</li>
                        <li>单个服务的可扩展性</li>
                        <li>更快的发布周期</li>
                        <li>故障隔离</li>
                        <li>团队自治</li>
                        <li>更容易理解和维护</li>
                    </ul>
                </div>
                <div class="disadvantages">
                    <h3>挑战</h3>
                    <ul>
                        <li>分布式系统复杂性</li>
                        <li>网络延迟和故障容错</li>
                        <li>数据一致性问题</li>
                        <li>测试复杂性</li>
                        <li>部署复杂性</li>
                        <li>需要成熟的DevOps文化</li>
                    </ul>
                </div>
            </div>
        </section>
        
        <section class="content-section">
            <h2>微服务适用场景</h2>
            <p>微服务架构特别适用于：</p>
            <ul>
                <li>大型复杂应用程序，需要频繁更新部分功能</li>
                <li>需要高度可扩展性的系统</li>
                <li>团队分布在不同地点或需要独立工作的组织</li>
                <li>需要混合多种技术的项目</li>
                <li>对高可用性有严格要求的系统</li>
            </ul>
        </section>
    </div>
    
    <footer>
        <p>© 2023 微服务架构介绍 | 本页面使用PHP生成</p>
    </footer>
</body>
</html>